iT邦幫忙

2023 iThome 鐵人賽

DAY 24
0
自我挑戰組

資料結構與演算法-CS61B學習筆記系列 第 24

Day24-Selection Sort & Insertion Sort & Bubble Sort

  • 分享至 

  • xImage
  •  

這章節開始我們會針對sort來詳細介紹各種不同的演算法。這章節會從最簡單的開始,也就是一般人可以想得到的方法。

Bubble Sort

從index = 0開始和下一個元素的大小,若當前元素比較大,就和下一個元素互換位置(swap),然後index在換到下一個元素,不斷進行到最後一個元素為止,這樣是一輪,然後下一輪再從index = 0開始,只不過最後要提前一個元素結束一輪(因為最後一個位置是已經sort好的當輪最大元素);所以每一輪都可以把較大的元素swap到最後面,並在下一輪提前一個元素結束。

01

02

03

Selection Sort

從當前集合中找到最小的元素,把他swap到index 0的位置,然後再從index = 1開始到最後面的集合中找出最小的元素,把他swap到index 1的位置,如此反覆直到最後。

04

05

06

07

Insertion Sort

從index = 0開始,把左半邊規劃為sorted區域,右側為un-sorted區域,所以每往前一個index時,sorted區域都會擴大,並將該元素不斷往前swap,直到它歸屬的位置。

08

09

10

11

12

以上三種方法其runtime應該不用多說,都會是O(log N)。

Slides are from Josh Hug CS61B
license
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License


上一篇
Day23-Topological Sort - DAG shortest path
下一篇
Day25-Heap Sort
系列文
資料結構與演算法-CS61B學習筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言